iT邦幫忙

2023 iThome 鐵人賽

DAY 5
0
Mobile Development

用30天學習做出我的第一個Flutter App系列 第 5

Day5 [Dart]運算符Operator

  • 分享至 

  • xImage
  •  

今天要來認識Dart的運算符,大概有以下幾個:

1. 算術運算符

Operator Meaning
+
-
/
*
~/ 取整數
% 取餘數
var++ 遞增運算符,變數的值增加1。
var-- 遞減運算符,變數的值減少1。
如果操作的變數型態不同,Dart會進行隱式類型轉換。例如,整數和浮點數相加時,結果會是浮點數!
https://ithelp.ithome.com.tw/upload/images/20230920/20163063pXxWNinJSY.png

2.關係運算符

Meaning Operator
相等 ==
不相等 !=
大於 >
小於 <
大於等於 >=
小於等於 <=
  • 補充assert
    Dart在開發和測試過程中可以用assert來檢測錯誤、確保程式的正確性。
    使用方式:

    assert(條件, '可選的錯誤消息');
    
    *條件:要檢查的布林表達式。
    *'可選的錯誤消息':當條件為假時要顯示的可選錯誤消息。
    

    如果表達式的求值結果不滿足需要,則會執行失敗,傳入assert的參數可以是任意表達式或方法,只要返回的是布林值就可以,如果assert失敗則會出現Assertion failed異常,如下圖範例:
    https://ithelp.ithome.com.tw/upload/images/20230920/20163063gBStBYfDPN.png
    output:
    https://ithelp.ithome.com.tw/upload/images/20230920/201630637YkWFqtZXV.png
    只給條件:
    https://ithelp.ithome.com.tw/upload/images/20230920/20163063FoAap0ONKI.png

3.邏輯運算符

  • 且:&&
  • 或:||
  • 反轉表達式:!
    https://ithelp.ithome.com.tw/upload/images/20230920/20163063PEekeFPwZi.png

4.賦值運算符(Assignment operators)

在 Dart 中用於將一個值賦予一個變數。也可以與其他運算一起使用,使程式碼更加簡潔、高效。

  • =:將右側的值賦給左側的變數

        var x = 10; // 將 10 賦給變數 x
    
  • 複合賦值運算符:

    • 加法賦值運算符(+=):將右側的值加到左側的變數上。
    • 減法賦值運算符(-=):將右側的值減去左側的變數。
    • 乘法賦值運算符(*=):將左側的變數乘以右側的值。
    • 除法賦值運算符(/=):將左側的變數除以右側的值。
    • 取餘賦值運算符(%=):將左側的變數除以右側的值並取餘數。
    • 示例:
      https://ithelp.ithome.com.tw/upload/images/20230920/20163063a5VGXySw8r.png

5.條件表達式(Conditional expressions)

是 Dart 中一種簡潔的語法,可以根據條件選擇不同的值或執行不同的表達式。它們是一種簡化的 if-else
構造,讓你可以在一行代碼中執行條件判斷。在 Dart 中,有兩種主要的條件表達式:

  • 條件運算符:根據 expr1 的值選擇執行 expr2 或 expr3

    • 如果 expr1 為真,則返回 expr2 的值。

    • 如果 expr1 為假,則返回 expr3 的值。

    • 用法:

       expr1 ? expr2 : expr3
      
    • 實例:
      https://ithelp.ithome.com.tw/upload/images/20230920/20163063PbqcLWAvkt.png

  • 空值合併運算符:用於處理可能為空(null)的情況

    • 如果 expr1 不為空,則返回 expr1 的值。

    • 如果 expr1 為空,則返回 expr2 的值

    • 用法:

            expr1 ?? expr2
      
    • 實例:
      https://ithelp.ithome.com.tw/upload/images/20230920/20163063cpXDOmnPpt.png

參考資料:
https://dart.dev/language/operators
https://lihsinplayer.medium.com/dart%E5%85%A5%E9%96%80-3eb57099da48


上一篇
Day4 [Dart]變數宣告
下一篇
Day6 [Dart]流程控制
系列文
用30天學習做出我的第一個Flutter App30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言